﻿using System.Reflection;

namespace OperationPlugins.Proxies.CodeDom
{
    /// <summary>
    /// Used to parse the string value of a CustomAttributeTypedArgument object.
    /// </summary>
    public interface ICustomAttributeTypedArgumentValueParser
    {        
        /// <summary>
        /// Tries to convert the value of specified CustomAttributeTypedArgument object to its equivalent string representation.
        /// </summary>
        /// <param name="arg">The CustomAttributeTypedArgument object.</param>
        /// <param name="value">The converted value, or null if conversion did not succceed.</param>
        /// <returns>true if arg was converted successfully; otherwise, false.</returns>
        bool TryParse(CustomAttributeTypedArgument arg, out string value);
    }
}
